from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType

# V1 版本开始支持链式调用
# 你所看到的格式其实是 `black` 格式化以后的效果
# 可以执行 `pip install black` 下载使用

# y轴数据
list1 = [5, 20, 36, 10, 75, 90]
list2 = [3, 40, 36, 11, 65, 90]

bar = (
    # 设置初始化配置项
    Bar(init_opts=opts.InitOpts(theme=ThemeType.WHITE, width="1080px", height="720px"))
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", list1, stack="stack1", category_gap="50%")  # stack:堆叠
    .add_yaxis("商家B", list2, stack="stack2", category_gap="50%")

    # 设置全局配置项
    .set_global_opts(
        title_opts=opts.TitleOpts(title="宜春学院", subtitle="数计学院",
                                  title_link="https://www.jxycu.edu.cn/",
                                  subtitle_link="https://sjxy.jxycu.edu.cn/main.htm",
                                  item_gap=20),  # 配置标题
        legend_opts=opts.LegendOpts(pos_right="20%"),  # 配置图例
        toolbox_opts=opts.ToolboxOpts(),  # 配置工具箱
        # 配置
        visualmap_opts=opts.VisualMapOpts(type_="color",
                                          min_=10,  # 选项的最大值、最小值
                                          max_=90,
                                          range_text=['最大值', '最小值'],
                                          orient="horizontal",
                                          pos_right='center',
                                          is_calculable=True,  # 能够拖拽选择范围
                                          is_inverse=False  # 反转可视化地图选项
                                          )
    )
    # 或者直接使用字典参数
    # .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})

    # 设置序列化配置项
    .set_series_opts(
        splitline_opts=opts.SplitLineOpts(is_show=True)
    )
)
bar.render("result.html")
